package com.dy.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dy.dto.WagesAddDTO;
import com.dy.dto.WagesExcelDTO;
import com.dy.dto.WagesPageDTO;
import com.dy.dto.WagesUpdateDTO;
import com.dy.entity.WagesEntity;
import com.dy.vo.WagesVO;

import java.util.List;

/**
 * @Author: dy
 * @date: 2024/5/7 14:31
 * @ClassDescription:
 */
public interface WagesService extends IService<WagesEntity> {

    /**
     * 分页查询
     * @param dto dto
     * @return {@link IPage}<{@link WagesVO}>
     */
    IPage<WagesVO> pageList(WagesPageDTO dto);

    /**
     * 新增
     * @param dto dto
     * @return {@link Boolean}
     */
    Boolean add(WagesAddDTO dto);

    /**
     * 根据id查看
     * @param id id
     * @return {@link WagesVO}
     */
    WagesVO getWagesById(Long id);

    /**
     * 根据id删除
     * @param id id
     * @return {@link Boolean}
     */
    Boolean deleteWagesById(Long id);

    /**
     * 修改
     * @param dto dto
     * @return {@link Boolean}
     */
    Boolean updateWages(WagesUpdateDTO dto);

    /**
     * excel导出
     * @param dto dto
     * @return {@link WagesExcelDTO}
     */
    List<WagesExcelDTO> getList(WagesPageDTO dto);

    /**
     * 工资导入
     * @param wagesExcelDtoList wagesExcelDtoList
     * @return {@link Boolean}
     */
    Boolean excelImport(List<WagesExcelDTO> wagesExcelDtoList);
}
